﻿using System;
using System.CodeDom.Compiler;
namespace SWF
{
    public struct PrimitiveDouble : IPrimitive
    {
        public PrimitiveType PrimitiveType { get { return PrimitiveType.Double; } }
        public object Value { get { return DoubleValue; } }
        public int Length { get { return 8 + 1; } }
        public double DoubleValue;

        public PrimitiveDouble(SwfReader r)
        {
            byte[] bytes = new byte[8];
            bytes[4] = r.GetByte();
            bytes[5] = r.GetByte();
            bytes[6] = r.GetByte();
            bytes[7] = r.GetByte();

            bytes[0] = r.GetByte();
            bytes[1] = r.GetByte();
            bytes[2] = r.GetByte();
            bytes[3] = r.GetByte();

            DoubleValue = BitConverter.ToDouble(bytes, 0);
        }

        public void ToFlashAsm(IndentedTextWriter w)
        {
            w.Write(DoubleValue);
        }
    }
}
